A task in a software application is a collection of one or more activities that a user interacts with when performing a certain job, where each activity is defined in the software application. Each activity is an instance of an activity class, and collectively the one or more activities in the collection control the life cycle of the execution of the task, such that the multiple activities exercised within the task can permit the user to perform the job. In some implementations, a command can be associated with an activity or an action related to an activity, such that a user submission of the command can trigger the activity or action. A specific intent can be fired to trigger the starting of the activity or performance of the action. Thus, to trigger the starting of the activity or performance of the action, a user must have knowledge of the command associated with the activity or action used to fire the intent corresponding to the activity or action.